// 使用 ES 默认导出
export default {
    /**
     * 通过邮箱查找用户
     * @param {string} email - 用户邮箱
     */
    findByEmail: {
        sql: 'SELECT * FROM users WHERE email = ?',
        params: ['email']
    },

    /**
     * 创建新用户
     * @param {Object} user - 用户信息对象
     */
    createUser: {
        sql: `INSERT INTO users (
            id, email, username, password, status, created_at, updated_at
        ) VALUES (?, ?, ?, ?, ?, ?, ?)`,
        params: ['id', 'email', 'username', 'password', 'status', 'created_at', 'updated_at']
    },

    /**
     * 为用户分配角色
     * @param {string} userId - 用户ID
     * @param {string} roleId - 角色ID
     */
    createUserRole: {
        sql: 'INSERT INTO user_roles (user_id, role_id) VALUES (?, ?)',
        params: ['userId', 'roleId']
    },

    /**
     * 获取用户角色列表
     * @param {string} userId - 用户ID
     */
    getUserRoles: {
        sql: `SELECT r.* FROM roles r
             INNER JOIN user_roles ur ON r.id = ur.role_id
             WHERE ur.user_id = ?`,
        params: ['userId']
    },

    /**
     * 通过ID查找用户
     * @param {string} id - 用户ID
     */
    findById: {
        sql: 'SELECT * FROM users WHERE id = ? LIMIT 1',
        params: ['id']  // 补充参数定义，与其他查询保持一致
    },
};

// 或同时支持命名导出（按需选择）
export const findByEmail = {
    sql: 'SELECT * FROM users WHERE email = ?',
    params: ['email']
};